package service.impl;

import dao.DistributionDao;
import dao.impl.DistributionDaoImpl;
import entity.Distribution;
import service.DistributionService;
import urity.Page;

import java.util.List;

public class DistributionServiceImpl implements DistributionService {
    DistributionDao dao=new DistributionDaoImpl();
    /**
     * 查询方法
     * @param pageNo
     * @param pageSize
     * @return
     */
    @Override
    public List<Distribution> selectAll(int pageNo, int pageSize) {
        return dao.selectAll(pageNo,pageSize);
    }

    /**
     * 新增方法
     * @param d
     * @return
     */
    @Override
    public int insert(Distribution d) {
        return dao.insert(d);
    }

    /**
     * 修改方法
     * @param d
     * @return
     */
    @Override
    public int update(Distribution d) {
        return dao.update(d);
    }

    /**
     * 实现分页方法
     *
     * @param pageNo
     * @param pageSize
     * @return
     */
    @Override
    public Page selectLimit(int pageNo, int pageSize) {
        if (pageNo<=0){
            pageNo=1;
        }
        Page page=new Page();
        page.setPageNo(pageNo);
        page.setPageSize(pageSize);
        //总记录数
        int countPage=selectCount();
        page.setCountPage(countPage);
        //总页数
        int totalPage=0;
        if(countPage%pageSize==0){
            totalPage=countPage/pageSize;
        }else {
            totalPage=countPage/pageSize+1;
        }
        page.setTotalPage(totalPage);
        //集合
        List<Distribution> list = selectAll(pageNo, pageSize);
        page.setList(list);
        return page;
    }

    /**
     * 查询总记录数
     * @return
     */
    @Override
    public int selectCount() {
        return dao.selectCount();
    }

    /**
     * 根据id查询单个数据
     * @param id
     * @return
     */
    @Override
    public Distribution selectOne(int id) {
        return dao.selectOne(id);
    }

    /**
     * 删除方法
     * @param id
     * @return
     */
    @Override
    public int delete(int id) {
         return dao.delete(id);
    }
}
